package proyecto.ort.edu.uy.manager;

import java.io.Serializable;

import javax.ejb.EJB;
import javax.faces.bean.SessionScoped;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;

import proyecto.ort.edu.uy.dominio.Usuario;

@FacesConverter(value = "usuarioConverter")
@SessionScoped
public class UsuarioConverter implements Converter, Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -3478097342211454265L;

	@EJB
	private UsuarioManagerLocal usuarioBean;

	public UsuarioConverter() {
		// TODO Auto-generated constructor stub
	}

	@Override
	public Object getAsObject(FacesContext arg0, UIComponent arg1, String submittedValue) {
		return usuarioBean.obtenerUsuario(Long.parseLong(submittedValue));
		// if (submittedValue.trim().equals("")) {
		// return null;
		// } else {
		// try {
		// int number = Integer.parseInt(submittedValue);
		//
		// for (Usuario p : usuariosDB) {
		// if (p.getIdUsuario() == number) {
		// return p;
		// }
		// }
		//
		// } catch (NumberFormatException exception) {
		// throw new ConverterException(new
		// FacesMessage(FacesMessage.SEVERITY_ERROR, "Conversion Error",
		// "Not a valid player"));
		// }
		// }
		//
		// return null;
	}

	@Override
	public String getAsString(FacesContext arg0, UIComponent arg1, Object value) {
		if (usuarioBean == null || value == null || value.equals("")) {
			return "";
		} else {

			return ((Usuario) value).getIdUsuario().toString();
		}
	}

}
